#ifndef LINK_LIST_H
#define LINK_LIST_H


typedef struct _tag_LinkListNode LinkListNode;
struct _tag_LinkListNode
{
    LinkListNode *next;
};


//对外隐藏
typedef void LinkList;

//创建一个空的线性表
LinkList* LinkList_Create();
//销毁线性表
void LinkList_Destory(LinkList* list);
//清空线性表
void LinkList_Clear(LinkList* list);
//返回线性表list中所有元素的个数
int LinkList_Length(LinkList* list);
//将一个node插入线性表
int LinkList_Insert(LinkList* list,LinkListNode* node,int pos);
//获取一个list 位于pos 位置处的元素
LinkListNode* LinkList_Get(LinkList* list,int pos);
//删除线性表list pos位置处的元素,返回被删除的元素,NULL 表示删除失败
LinkListNode* LinkList_Delete(LinkList*list,int pos);

#endif // LINKLIST_H
